/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.recursos.interceptors;

import com.recursos.modelo.DatosUsuario;
import com.recursos.utilidades.Log;
import java.util.Date;
import java.util.logging.Logger;
import javax.interceptor.AroundInvoke;
import javax.interceptor.InvocationContext;

/**
 *
 * @author VYG0014
 */
public class InterceptorAuditoria extends Log{

    @AroundInvoke
    public Object logAuditoria(InvocationContext context) {

        Object[] params = context.getParameters();
        DatosUsuario datosUsuario = (DatosUsuario) params[0];

        context.getMethod().getName();
        logger.info("Id Usuario : " + datosUsuario.getIdUsuario());
        logger.info("Ip Usuario : " + datosUsuario.getIp());
        logger.info("Clase : " + context.getClass().getName());
        logger.info("Metodo App : " + context.getMethod().getName());
        logger.info("Fecha : " + new Date());
        try {
            return context.proceed();
        } catch (Exception e) {
            logger.error("Error calling ctx.proceed in)"+e.getMessage());
            return null;
        }
    }
}
